An Application of Rational Trees in a Logic Programming Interpreter for a Procedural Language

نویسنده

  • Manuel Carro
چکیده

We describe here a simple application of rational trees to the implementation of an interpreter for a procedural language written in a logic programming language. This is possible in languages designed to support rational trees (such as Prolog II and its descendants), but also in traditional Prolog, whose data structures are initially based on Herbrand terms, but in which implementations often omit the occurs check needed to avoid the creation of infinite data structures. We provide code implementing two interpreters, one of which needs non-occurs-check unification, which makes it faster (and more economic). We provide experimental data supporting this, and we argue that rational trees are interesting enough as to receive thorough support inside the language.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Constraint Hierarchies and Logic Programming

Constraint Logic Programming (CLP) is a general scheme for extending logic programming to include constraints. It is parameterized by D, the domain of the constraints. However, CLP(D) languages, as well as most other constraint systems, only allow the programmer to specify constraints that must hold. In many applications, such as interactive graphics, page layout, and decision support, one need...

متن کامل

CFLP: a Distributed Constraint Solving System for Functional Logic Programming

| CFLP is a distributed software system which aims at integrating constraint solving capabilities over various domains in a functional logic programming environment. In this paper we report on the current status of the development of the system. The general structure and the func-tionality of the system components are presented. Lazy narrowing (LN) 5] is a goal directed method in functional log...

متن کامل

Encapsulated Models: Procedural Representations for Computer Animation

This research defines the term “encapsulated model” or “emodel.” An encapsulated model is an animated object containing an integrated set of dynamic attributes — e.g., shape, motion, materials (surface properties), light sources, cameras, user interfaces, sound — represented by a procedural data format (i.e., a program written in a procedural animation language). A set of properties that charac...

متن کامل

Procedural Reasoning System Teleo-reactive Agents 7 Plans and Agenda 6 Intentions

A situated agent is a computer-basedsystem that is embedded in a realtime world or environment, is ascribed with some mental states, and may enjoy a disconcerting variety of properties such as proactivity, reactivity, etc. In this paper we present the design of a class of knowledge-based situated agents and an agent specification language, called SICLE . After the SICLE interpreter receives a S...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره cs.DS/0403028  شماره 

صفحات  -

تاریخ انتشار 2004